function observeMutations(targetNode, options) {
	return new Promise((resolve, reject) => {
		// 创建一个MutationObserver实例
		const observer = new MutationObserver((mutationsList, observer) => {
			// 当发生变动时，触发resolve
			resolve(mutationsList)
			// 停止观察
			observer.disconnect()
		})

		// 开始观察指定的目标节点
		observer.observe(targetNode, options)

		// 可选：设置一个超时，防止永久等待
		const timeout = setTimeout(() => {
			observer.disconnect()
			reject(new Error('观察超时'))
		}, 5000) // 设定超时为5000毫秒

		// 清理超时，在resolve时
		observer.takeRecords() // 这里可以采集当前的变动记录
		observer.disconnect = function () {
			clearTimeout(timeout)
			observer.disconnect.call(observer)
		}
	})
}


// 使用示例
const targetNode = document.getElementById('yourElementId')
const config = { attributes: true, childList: true, subtree: true }

try {
	const mutations = await observeMutations(targetNode, config)
	console.log('变动信息:', mutations)
} catch (error) {
	console.error('观察发生错误:', error)
}